\hypertarget{packet_8h}{}\section{packet.\+h File Reference}
\label{packet_8h}\index{packet.\+h@{packet.\+h}}
{\ttfamily \#include $<$stdint.\+h$>$}\\*
\subsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \hyperlink{packet_8h_a7a9167ab8ca1b2f2baa36a5a0c292e5d}{P\+A\+C\+K\+E\+T\+\_\+\+R\+X\+\_\+\+T\+I\+M\+E\+O\+U\+T}~2
\item 
\#define \hyperlink{packet_8h_a370eef40862458ac14464caf20b5e1e3}{P\+A\+C\+K\+E\+T\+\_\+\+H\+A\+N\+D\+L\+E\+R\+S}~2
\item 
\#define \hyperlink{packet_8h_ac3be10b8f0586a71c9082ab78e2b23d1}{P\+A\+C\+K\+E\+T\+\_\+\+M\+A\+X\+\_\+\+P\+L\+\_\+\+L\+E\+N}~1024
\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
void \hyperlink{packet_8h_ad881bd33dab40a1797ebc113a66bc301}{packet\+\_\+init} (void($\ast$s\+\_\+func)(unsigned char $\ast$data, unsigned int len), void($\ast$p\+\_\+func)(unsigned char $\ast$data, unsigned int len), int handler\+\_\+num)
\item 
void \hyperlink{packet_8h_ae5d5ab2db55e1e1552db73070f660730}{packet\+\_\+process\+\_\+byte} (uint8\+\_\+t rx\+\_\+data, int handler\+\_\+num)
\item 
void \hyperlink{packet_8h_a5c140f4c92ab36d46fd7da88d676783e}{packet\+\_\+timerfunc} (void)
\item 
void \hyperlink{packet_8h_ac5b878f81eb01d6a5b78ea6169aaec3f}{packet\+\_\+send\+\_\+packet} (unsigned char $\ast$data, unsigned int len, int handler\+\_\+num)
\end{DoxyCompactItemize}


\subsection{Macro Definition Documentation}
\hypertarget{packet_8h_a370eef40862458ac14464caf20b5e1e3}{}\index{packet.\+h@{packet.\+h}!P\+A\+C\+K\+E\+T\+\_\+\+H\+A\+N\+D\+L\+E\+R\+S@{P\+A\+C\+K\+E\+T\+\_\+\+H\+A\+N\+D\+L\+E\+R\+S}}
\index{P\+A\+C\+K\+E\+T\+\_\+\+H\+A\+N\+D\+L\+E\+R\+S@{P\+A\+C\+K\+E\+T\+\_\+\+H\+A\+N\+D\+L\+E\+R\+S}!packet.\+h@{packet.\+h}}
\subsubsection[{P\+A\+C\+K\+E\+T\+\_\+\+H\+A\+N\+D\+L\+E\+R\+S}]{\setlength{\rightskip}{0pt plus 5cm}\#define P\+A\+C\+K\+E\+T\+\_\+\+H\+A\+N\+D\+L\+E\+R\+S~2}\label{packet_8h_a370eef40862458ac14464caf20b5e1e3}
\hypertarget{packet_8h_ac3be10b8f0586a71c9082ab78e2b23d1}{}\index{packet.\+h@{packet.\+h}!P\+A\+C\+K\+E\+T\+\_\+\+M\+A\+X\+\_\+\+P\+L\+\_\+\+L\+E\+N@{P\+A\+C\+K\+E\+T\+\_\+\+M\+A\+X\+\_\+\+P\+L\+\_\+\+L\+E\+N}}
\index{P\+A\+C\+K\+E\+T\+\_\+\+M\+A\+X\+\_\+\+P\+L\+\_\+\+L\+E\+N@{P\+A\+C\+K\+E\+T\+\_\+\+M\+A\+X\+\_\+\+P\+L\+\_\+\+L\+E\+N}!packet.\+h@{packet.\+h}}
\subsubsection[{P\+A\+C\+K\+E\+T\+\_\+\+M\+A\+X\+\_\+\+P\+L\+\_\+\+L\+E\+N}]{\setlength{\rightskip}{0pt plus 5cm}\#define P\+A\+C\+K\+E\+T\+\_\+\+M\+A\+X\+\_\+\+P\+L\+\_\+\+L\+E\+N~1024}\label{packet_8h_ac3be10b8f0586a71c9082ab78e2b23d1}
\hypertarget{packet_8h_a7a9167ab8ca1b2f2baa36a5a0c292e5d}{}\index{packet.\+h@{packet.\+h}!P\+A\+C\+K\+E\+T\+\_\+\+R\+X\+\_\+\+T\+I\+M\+E\+O\+U\+T@{P\+A\+C\+K\+E\+T\+\_\+\+R\+X\+\_\+\+T\+I\+M\+E\+O\+U\+T}}
\index{P\+A\+C\+K\+E\+T\+\_\+\+R\+X\+\_\+\+T\+I\+M\+E\+O\+U\+T@{P\+A\+C\+K\+E\+T\+\_\+\+R\+X\+\_\+\+T\+I\+M\+E\+O\+U\+T}!packet.\+h@{packet.\+h}}
\subsubsection[{P\+A\+C\+K\+E\+T\+\_\+\+R\+X\+\_\+\+T\+I\+M\+E\+O\+U\+T}]{\setlength{\rightskip}{0pt plus 5cm}\#define P\+A\+C\+K\+E\+T\+\_\+\+R\+X\+\_\+\+T\+I\+M\+E\+O\+U\+T~2}\label{packet_8h_a7a9167ab8ca1b2f2baa36a5a0c292e5d}


\subsection{Function Documentation}
\hypertarget{packet_8h_ad881bd33dab40a1797ebc113a66bc301}{}\index{packet.\+h@{packet.\+h}!packet\+\_\+init@{packet\+\_\+init}}
\index{packet\+\_\+init@{packet\+\_\+init}!packet.\+h@{packet.\+h}}
\subsubsection[{packet\+\_\+init(void($\ast$s\+\_\+func)(unsigned char $\ast$data, unsigned int len), void($\ast$p\+\_\+func)(unsigned char $\ast$data, unsigned int len), int handler\+\_\+num)}]{\setlength{\rightskip}{0pt plus 5cm}void packet\+\_\+init (
\begin{DoxyParamCaption}
\item[{void($\ast$)(unsigned char $\ast$data, unsigned int len)}]{s\+\_\+func, }
\item[{void($\ast$)(unsigned char $\ast$data, unsigned int len)}]{p\+\_\+func, }
\item[{int}]{handler\+\_\+num}
\end{DoxyParamCaption}
)}\label{packet_8h_ad881bd33dab40a1797ebc113a66bc301}
\hypertarget{packet_8h_ae5d5ab2db55e1e1552db73070f660730}{}\index{packet.\+h@{packet.\+h}!packet\+\_\+process\+\_\+byte@{packet\+\_\+process\+\_\+byte}}
\index{packet\+\_\+process\+\_\+byte@{packet\+\_\+process\+\_\+byte}!packet.\+h@{packet.\+h}}
\subsubsection[{packet\+\_\+process\+\_\+byte(uint8\+\_\+t rx\+\_\+data, int handler\+\_\+num)}]{\setlength{\rightskip}{0pt plus 5cm}void packet\+\_\+process\+\_\+byte (
\begin{DoxyParamCaption}
\item[{uint8\+\_\+t}]{rx\+\_\+data, }
\item[{int}]{handler\+\_\+num}
\end{DoxyParamCaption}
)}\label{packet_8h_ae5d5ab2db55e1e1552db73070f660730}
\hypertarget{packet_8h_ac5b878f81eb01d6a5b78ea6169aaec3f}{}\index{packet.\+h@{packet.\+h}!packet\+\_\+send\+\_\+packet@{packet\+\_\+send\+\_\+packet}}
\index{packet\+\_\+send\+\_\+packet@{packet\+\_\+send\+\_\+packet}!packet.\+h@{packet.\+h}}
\subsubsection[{packet\+\_\+send\+\_\+packet(unsigned char $\ast$data, unsigned int len, int handler\+\_\+num)}]{\setlength{\rightskip}{0pt plus 5cm}void packet\+\_\+send\+\_\+packet (
\begin{DoxyParamCaption}
\item[{unsigned char $\ast$}]{data, }
\item[{unsigned int}]{len, }
\item[{int}]{handler\+\_\+num}
\end{DoxyParamCaption}
)}\label{packet_8h_ac5b878f81eb01d6a5b78ea6169aaec3f}
\hypertarget{packet_8h_a5c140f4c92ab36d46fd7da88d676783e}{}\index{packet.\+h@{packet.\+h}!packet\+\_\+timerfunc@{packet\+\_\+timerfunc}}
\index{packet\+\_\+timerfunc@{packet\+\_\+timerfunc}!packet.\+h@{packet.\+h}}
\subsubsection[{packet\+\_\+timerfunc(void)}]{\setlength{\rightskip}{0pt plus 5cm}void packet\+\_\+timerfunc (
\begin{DoxyParamCaption}
\item[{void}]{}
\end{DoxyParamCaption}
)}\label{packet_8h_a5c140f4c92ab36d46fd7da88d676783e}
Call this function every millisecond. 